#define _CRT_SECURE_NO_WARNINGS	

#include<stdio.h>

void Insertion_Sorting(int arr[], int len)
{
    for (int i = 1; i < len; i++)
    {
        int tmp = arr[i];
        int j = i - 1;
        for (; j >= 0; j--)
        {
            if (arr[j] > tmp)
                arr[j + 1] = arr[j];
            else
                break;
        }
        arr[j + 1] = tmp;
    }
}

void Shell(int arr[], int len, int gap)
{
    for (int i = gap; i < len; i++)
    {
        int tmp = arr[i];
        int j = i - gap;
        for (; j >= 0; j -= gap)
        {
            if (arr[j] > tmp)
                arr[j + gap] = arr[j];
            else
                break;
        }
        arr[j + gap] = tmp;
    }
}

void Shell_Sort(int arr[], int len)
{
    int gap[] = { 5,3,1 };

    int gap_size = sizeof(gap) / sizeof(gap[0]);

    for (int i = 0; i < gap_size; i++)
        Shell(arr, len, gap[i]);
}

int main()
{

    return 0;
}